#ifndef CAPTHREAD_H
#define CAPTHREAD_H
#include <functional>
#include <QThread>

class cap_thread: public QThread{
	// 声明Q_OBJECT宏，用于支持信号和槽机制
	Q_OBJECT
public:
	// 构造函数，传入一个QObject指针作为参数
	explicit cap_thread (QObject * p);
	// 构造函数，传入一个std::function<void (void)>类型的参数和一个QObject指针作为参数
	explicit cap_thread (std::function<void (void)> runner,QObject * p);
	// 设置运行函数
	void setRunner(std::function<void (void)> r){ m_runner = r;}
public:
	// 重写run()函数，用于在子线程中执行
	void run() override;
private:
	// 定义一个std::function<void (void)>类型的成员变量，用于存储运行函数
	std::function<void (void)> m_runner;
};
#endif // CAPTHREAD_H
